package cn.samler.diandi.api.mapper;

import cn.samler.diandi.api.entity.PostRequest;
import cn.samler.diandi.api.entity.PostRequestComment;
import cn.samler.diandi.api.model.db.PostRequestOwner;
import cn.samler.diandi.api.model.io.request.post.RequestMark;
import cn.samler.diandi.api.model.io.request.post.request.PostRequestDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PostRequestMapper {
    Integer getPostUid(Integer pid);
    Integer getWaitCount(@Param("pid") Integer pid, @Param("uid") Integer uid);
    PostRequestOwner getOwner(String id);
    String getRole(Integer pid);

    PostRequestDetail detailRequest(String id);
    List<PostRequestDetail> listRequest(@Param("self") boolean self, @Param("uid") int uid,
                                  @Param("start") int start, @Param("offset") int offset);

    Integer commit(PostRequest form);

    Integer updateStatus(@Param("uid") Integer uid, @Param("request") RequestMark form, @Param("status") int status);

    Integer updateEvaluate(@Param("pid") int pid, @Param("id") String id, @Param("origin") boolean isOrigin);

    List<PostRequestComment> listComment(@Param("id") String id,  @Param("start") int start, @Param("offset") int offset);

    Integer comment(PostRequestComment form);

}
